/**
 * 字典下拉框，带模糊查询
 * 如果没有列出请自行扩展要用的字典类型
 * 只需在getType中添加case项
 * 对应表t_dictionary_type 字段 DICTTYPECODE
 * zhangnf 20150928
 */
var dictCtrl  = new XFApp.client();
XFApp.client.prototype.dictionary = {
	/**
	 * 返回表单属性
	 * @param dictType 字典类型 
	 **/
	getTypeId : function(dictTypeCode){
		switch(dictTypeCode){
			case "wfyORn" : return 1000;//是否
			case "workflowApprove" : return 1001;//审批状态
			case "wfAction" : return 1002;//审批类型
			case "fileType" : return 1003;//文件类型
			case "customsCode" : return 1004;//海关代码
			case "measureUnit" : return 1005;//海关计量单位
			case "currency" : return 1006;//海关币制
			case "orderType" : return 1007;//海关订单类型
			case "nation" : return 1008;//海关国家
			case "transferMode" : return 1009;//海关运输方式
			case "transferName" : return 1010;//海关运输工具
			case "tradeMode" : return 1011;//海关贸易方式
			case "loctno" : return 1012;//监管场所代码
			case "feeMark" : return 1013;//海关运费标志
			case "wrapType" : return 1014;//海关包装种类
			case "customerDocketStatus" : return 1015;//客户状态
			case "goodsDocketStatus" : return 1016;//商品状态
			case "orderDocketStatus" : return 1017;//订单跟踪状态
			case "orderStatus" : return 1018;//订单状态
			case "toDocketStatus" : return 1019;//运单状态
			case "billDocketStatus" : return 1020;//清单状态
			case "customerSource" : return 1021;//客户来源
			case "customerBizType" : return 1022;//客户业务类型
			case "customerNeedService" : return 1023;//客户所需服务
			case "customerIndustry" : return 1024;//客户所属行业
			case "customerAttr" : return 1025;//客户性质
			case "customerDocketStatusSearch" : return 1026;//客户查询状态
			case "isDistribution" : return 1027;//是否分配
			case "customerCooperationDocketStatus" : return 1028;//合作状态查询
			case "destinationport" : return 1029;//指运港代码
			case "trademode" : return 1030;//贸易方式
			default : return null;
		}
	},
	/**
	 * 获取数据并且渲染
	 * @param dictTypeCode 字典名称
	 * @param valueInput 隐藏输入框，存储选项值便于表单提交和回显
	 * @param displayId 显示输入框ID 如果为空 则取dictTypeCode
	 * 	对应表t_dictionary_type 字段 DICTTYPECODE
	 */
	load : function(dictTypeCode,valueInput,displayId){
		
		if(null == displayId){
			displayId = dictTypeCode;
		}
		var dictTypeId = this.getTypeId(dictTypeCode);
		
		$("#"+displayId).attr("data-id","");
		//$("#"+valueInput).val("");
		$("#"+displayId).bind("blur",function(){
			$("#"+valueInput).val($("#"+displayId).attr("data-id"));
		});
		
		$.ajax( {  
		    url:basePath+"/userCenter/dict/getByDictTypeId?dictTypeId"+dictTypeId,
		    data:{  
		             dictTypeId : dictTypeId
		    },  
		    type:'post',
		    cache:false,
		    dataType:'json',
		    success:function(data) {
		    	$("#"+displayId).bsSuggest({
					idField: "dictCode",  
					keyField: "dictName",
					effectiveFields :["dictCode","dictName"],
					effectiveFieldsAlias:{dictCode:"编码",dictName:"名称"},
				    data: {
				        'value':data.result
				    }
				   });
		    	var val = $("#"+valueInput).val();
		    	if(""!=val){
		    		$.each(data.result, function(i,item){
		                if(item.dictCode == val){
		                	$("#"+displayId).val(item.dictName);
		                	$("#"+displayId).attr("data-id",val);
		                	return true;
		                }
		            });
		    	}
		    	
		     },  
		     error : function() {  
		    	 console.log("字典查询异常");
		     }  
		});
	},
	
	/**
	 * 获取数据并且渲染
	 * @desc 翻译对应的dictCode-->dictName
	 * @param dictTypeCode 字典名称
	 * 	对应表t_dictionary_type 字段 DICTTYPECODE
	 */
	translate : function(dictTypeCode){
		
		var result = "";
		var dictTypeId = this.getTypeId(dictTypeCode);
		
		$.ajax( {  
		    url:basePath+"/userCenter/dict/getByDictTypeId?dictTypeId"+dictTypeId,
		    data:{  
		             dictTypeId : dictTypeId
		    },  
		    type:'post',
		    cache:false,
		    async: false,
		    dataType:'json',
		    success:function(data) {		    	
		    	result =  data.result ;
		     },  
		     error : function() {  
		    	 console.log("字典查询异常");
		     }  
		});
		return result ;
	}
	
	
};